#!/usr/bin/env node
const fs = require('fs');
const path = require('path');

function copyFiles(sourceDir, targetDir) {
  if (!fs.existsSync(targetDir)) {
    fs.mkdirSync(targetDir);
  }

  // 读取源目录中的所有文件和文件夹
  const items = fs.readdirSync(sourceDir);

  items.forEach(item => {
    const sourcePath = path.join(sourceDir, item);
    const targetPath = path.join(targetDir, item);

    const stats = fs.lstatSync(sourcePath);

    if (stats.isDirectory()) {
      // 如果是目录，递归拷贝该目录下的所有文件和文件夹
      if (!fs.existsSync(targetPath)) {
        fs.mkdirSync(targetPath);
      }
      copyFiles(sourcePath, targetPath);
    } else if (stats.isFile()) {
      // 如果是文件，直接拷贝文件到目标目录
      fs.copyFileSync(sourcePath, targetPath);
      console.log(`Copied file path: ${targetPath}`);
    }
  });
}

module.exports = {
  copyFiles,
};
